home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Development Platforms / Apple II / Essentials / MPW IIGS Interfaces / PIIGSIncludes / ADB.p < prev    next >
Encoding:
Text File  |  1990-08-01  |  3.1 KB  |  104 lines  |  [TEXT/MPS ]

  1. {********************************************
  2. ; File: ADB.p
  3. ;
  4. ;
  5. ; Copyright Apple Computer, Inc. 1986-90
  6. ; All Rights Reserved
  7. ;
  8. ********************************************}
  9.  
  10. UNIT ADB;
  11. INTERFACE
  12. USES TYPES;
  13. CONST
  14.  
  15.  
  16. { Error Codes }
  17. cmndIncomplete = $0910;  { Command not completed. }
  18. cantSync = $0911;  { Can't synchronize }
  19. adbBusy = $0982;  { Busy  (command pending) }
  20. devNotAtAddr = $0983;  { Device not present at address }
  21. srqListFull = $0984;  { List full }
  22.  
  23. { ReadKeyMicroData Codes }
  24. readModes = $000A;
  25. readConfig = $000B;
  26. readADBError = $000C;
  27. readVersionNum = $000D;
  28. readAvailCharSet = $000E;
  29. readAvailLayout = $000F;
  30.  
  31. { SendInfo Commands }
  32. abortKbd = $0001;
  33. resetKbd = $0002;
  34. flushKbd = $0003;
  35. setModes = $0004;  { 2nd param is pointer to mode byte }
  36. clearModes = $0005;  { 2nd param is pointer to mode Byte }
  37. setConfig = $0006;  { 2nd param is pointer to SetConfigRec }
  38. synch = $0007;  { 2nd param is pointer to SynchRec }
  39. writeMicroMem = $0008;  { 2nd param is pointer to MicroControlMemRec }
  40. resetSys = $0010;
  41. keyCode = $0011;  { 2nd param is pointer to key code byte. }
  42. resetADB = $0040;
  43. transmitADBBytes = $0047;  { add number of bytes to this  }
  44. enableSRQ = $0050;  { ADB address in low nibble }
  45. flushADBDevBuf = $0060;  { ADB address in low nibble }
  46. disableSRQ = $0070;  { ADB address in low nibble }
  47. transmit2ADBBytes = $0080;  { add ADB address to this }
  48. listen = $0080;  { adbCommand = listen + ( 16 * reg) + (adb address) }
  49. talk = $00C0;  { adbCommand = talk + ( 16 * reg) + (adb address) }
  50.  
  51. { Other Constants }
  52. readMicroMem = $0009;
  53.  
  54. TYPE
  55. ReadConfigRecPtr = ^ReadConfigRec;
  56. ReadConfigRec = PACKED RECORD
  57.     rcADBAddr : Byte; { Output Byte: ADB address - keyboard and mouse }
  58.     rcLayoutOrLang : Byte; { Output Byte: Layout / Language }
  59.     rcRepeatDelay : Byte; { Output Byte: Repeat / Delay }
  60. END;
  61. SetConfigRecPtr = ^SetConfigRec;
  62. SetConfigRec = PACKED RECORD
  63.     scADBAddr : Byte; { keyboard and mouse }
  64.     scLayoutOrLang : Byte;
  65.     scRepeatDelay : Byte;
  66. END;
  67. SynchRecPtr = ^SynchRec;
  68. SynchRec = PACKED RECORD
  69.     synchMode : Byte;
  70.     synchKybdMouseAddr : Byte;
  71.     synchLayoutOrLang : Byte;
  72.     synchRepeatDelay : Byte;
  73. END;
  74. ScaleRecPtr = ^ScaleRec;
  75. ScaleRec = RECORD
  76.     xDivide : Integer;
  77.     yDivide : Integer;
  78.     xOffset : Integer;
  79.     yOffset : Integer;
  80.     xMultiply : Integer;
  81.     yMultiply : Integer;
  82. END;
  83. PROCEDURE AbsOff   ;
  84. PROCEDURE AbsOn   ;
  85. PROCEDURE ADBBootInit   ;
  86. PROCEDURE ADBReset   ;
  87. PROCEDURE ADBShutDown   ;
  88. PROCEDURE ADBStartUp   ;
  89. FUNCTION ADBStatus  : Boolean ;
  90. FUNCTION ADBVersion  : Integer ;
  91. PROCEDURE AsyncADBReceive ( compPtr:Ptr; adbCommand:Integer)  ;
  92. PROCEDURE ClearSRQTable   ;
  93. PROCEDURE GetAbsScale (VAR dataInPtr:ScaleRec)  ;
  94. FUNCTION ReadAbs  : Integer ;
  95. PROCEDURE ReadKeyMicroData ( dataLength:Integer; dataPtr:Ptr; adbCommand:Integer)  ;
  96. PROCEDURE ReadKeyMicroMemory ( dataOutPtr:Ptr; dataInPtr:Ptr; adbCommand:Integer)  ;
  97. PROCEDURE SendInfo ( dataLength:Integer; dataPtr:Ptr; adbCommand:Integer)  ;
  98. PROCEDURE SetAbsScale ( dataOutPtr:ScaleRec)  ;
  99. PROCEDURE SRQPoll ( compPtr:Ptr; adbRegAddr:Integer)  ;
  100. PROCEDURE SRQRemove ( adbRegAddr:Integer)  ;
  101. PROCEDURE SyncADBReceive ( inputWord:Integer; compPtr:Ptr; adbCommand:Integer)  ;
  102. IMPLEMENTATION
  103. END.
  104.